package com.event.management.frontend.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 票种信息实体类
 */
@Data
@TableName("tickets")
public class Ticket {
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 关联活动ID
     */
    private Long eventId;

    /**
     * 票种名称
     */
    private String name;

    /**
     * 票种说明
     */
    private String description;

    /**
     * 票价
     */
    private BigDecimal price;

    /**
     * 总库存
     */
    private Integer totalStock;

    /**
     * 已售数量
     */
    private Integer soldCount;

    /**
     * 每个用户限购数量
     */
    private Integer limitPerUser;

    /**
     * 是否逻辑删除
     */
    @TableLogic
    private Boolean isDeleted;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updatedAt;
} 